/**
 * 此文件为所有模块后端socket推送告知要刷新某个接口
 * 场景eg： 管理员修改快捷回复之后，座席不用刷新系统，可以直接取到最新的数据
 * refreshQuickReply 为后端推送的type, getAllQuickReplyListNew为前端封装之后调用的action， actionData为发请求需要的data
 * 这个方式只适合请求data跟业务无关联，以及dispatch之后，无.then业务交叉的部分
 * 因为是异步请求，所有的请求都不带mask,不能影响现有的操作流畅度
 *  */
const cacheMap = {
  refreshQuickReply: {
    action: 'getAllQuickReplyListNew',
    actionData: {
      moduleType: 'webchat'
    },
    hiddenLoading: true // 这种异步请求都，请求都mask要去除
  }
}
export function refreshCache(data, dispatch) {
  Object.keys(cacheMap).map((item) => {
    if (cacheMap[item] && data.type === item) {
      dispatch(cacheMap[item].action, cacheMap[item].actionData)
    }
  })
}
